go/types.Pointer.base (field)
38 uses
go/types (current package)
builtins.go#L543: x.typ = &Pointer{base: T}
builtins.go#L751: x.typ = NewSlice(typ.base)
builtins.go#L895: if a, _ := under(p.base).(*Array); a != nil {
call.go#L507: x.typ = x.typ.(*Pointer).base
call.go#L679: typ = &Pointer{base: typ}
conversions.go#L151: if IdenticalIgnoreTags(under(V.base), under(T.base)) && !isTypeParam(V.base) && !isTypeParam(T.base) {
expr.go#L172: x.typ = &Pointer{base: x.typ}
expr.go#L1592: x.typ = &Pointer{base: x.typ}
expr.go#L1601: if base != nil && !Identical(p.base, base) {
expr.go#L1605: base = p.base
index.go#L76: if typ, _ := under(typ.base).(*Array); typ != nil {
index.go#L127: if t, _ := under(t.base).(*Array); t != nil {
index.go#L257: if u, _ := under(u.base).(*Array); u != nil {
infer.go#L399: return w.isParameterized(t.base)
infer.go#L734: w.typ(t.base)
instantiate.go#L162: if p, _ := Vu.(*Pointer); p != nil && under(p.base) == Typ[Invalid] {
lookup.go#L409: return p != nil && IsInterface(p.base)
lookup.go#L415: if p, _ := under(T).(*Pointer); isTypeParam(p.base) {
lookup.go#L467: if p.base == nil {
lookup.go#L473: return p.base, true
lookup.go#L482: if _, ok := under(p.base).(*Struct); ok {
lookup.go#L483: return p.base
pointer.go#L9: base Type // element type
pointer.go#L13: func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} }
pointer.go#L16: func (p *Pointer) Elem() Type { return p.base }
predicates.go#L230: return identical(x.base, y.base, cmpTags, p)
subst.go#L111: base := subst.typ(t.base)
subst.go#L112: if base != t.base {
subst.go#L113: return &Pointer{base: base}
typestring.go#L178: w.typ(t.base)
typexpr.go#L318: typ.base = Typ[Invalid] // avoid nil base in invalid recursive type declaration
typexpr.go#L320: typ.base = check.varType(e.X)
unify.go#L442: return u.nify(x.base, y.base, p)